def Get2DCuvDerivat(rank:int, u:float, Cs:[list,list,list,...]):
    '''
        功能：求幂基参数多项式平面曲线p(u)上参数为u点处的rank阶导矢。
        输入参数：rank-导矢阶数；
                  u-参数；
                  Cs-幂基参数多项式平面曲线的系数矢量。
        输出参数：pv-rank阶导矢，若rank=0，p=p(u)即曲线参数为u的点。
    '''
    Fact = lambda n: 1 if n==0 else n*Fact(n-1) # 计算n的阶乘。
    pv = [0,0]
    for i in range(len(Cs), rank-1,-1):
        pu = u*(i-rank+1)
        pv[0] = pv[0]/pu+Fact(i)*Cs[i][0]
        pv[1] = pv[1]/pu+Fact(i)*Cs[i][1]
    return pv

if __name__ == '__main__':
    ...